Flash memory is commonly used for applications that require a non-volatile memory to store code and data that must be retained when power to the memory is removed, but which can be re-written when necessary during operation. Flash memory is favored because it can be written and erased while in-circuit, and because it has read access times comparable to static random access memory (SRAM).
Current flash storage algorithms perform write operations as individual objects without regard for the size of the entire data being stored. Further, current storage algorithms typically scan the flash media before each write operation in order to find the location therein to put the data. This results in a significant time loss each time a write operation is called.